package com.qfedu.yanglao20admin.handicapped.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qfedu.yanglao20.entity.handicapped.Handicapped;
import com.qfedu.yanglao20admin.handicapped.param.AddHandicappedParam;
import com.qfedu.yanglao20admin.handicapped.param.ContractParam;
import com.qfedu.yanglao20admin.handicapped.param.HandicappedParam;
import com.qfedu.yanglao20admin.handicapped.vo.HandicappedVO;
import com.qfedu.yanglao20admin.handicapped.vo.SelectHandicappedVO;

import java.util.List;

/**
 * @author yujie
 * @data 2023/4/27 14:32
 */
public interface HandicappedDao extends BaseMapper<Handicapped> {

    /**
     * 分页查询残疾人管理信息
     *
     * @param param 分页信息
     * @return 残疾人管理信息
     */
    List<HandicappedVO> selectList(HandicappedParam param);

    /**
     * 添加 残疾人以及亲属关系信息
     *
     * @param addHandicappedParam 残疾人以及亲属关系信息
     */
    void insertHandicapped(AddHandicappedParam addHandicappedParam);

    /**
     * 修改 账号ID
     *
     * @param id
     */
    void updateaccountId(String accountId, Integer id);


    /**
     * 根据设备信息查询残疾人数据
     *
     * @param facility
     * @return
     */
    Handicapped selectByFacility(String facility);

    /**
     * 修改残疾人信息
     *
     * @param addHandicappedParam
     */
    void updateHandicapped(AddHandicappedParam addHandicappedParam);

    /**
     * 修改服务状态
     *
     * @param stateFlag
     */
    void updateStateFlag(Integer stateFlag, Integer id);

    /**
     * 修改合同时间
     *
     * @param contractParam
     */
    void updateContract(ContractParam contractParam);

    /**
     * 修改合同状态
     *
     * @param id
     */
    void updateContractState(Integer id);

    /**
     * 根据 id 查询残疾人以及亲属信息
     *
     * @param id
     * @return
     */
    SelectHandicappedVO selectAllById(Integer id);

    /**
     * 根据 id 修改近照信息
     *
     * @param photosUrl
     * @param id
     */
    void updatePhotosUrl(String photosUrl, Integer id);
}
